Date		:	14 octobre 1990
		Divers		:  	D�but des emm.....
		Date		:	18 novembre 1990
		Divers		:	Fin des emm.......
		Outils		:	PERISCOPE, EXEHEAD, MI, QUAID
		Programmes	:	Virus LIBERTY et KEYPRESS
		Origine		:	INDONESIE
		Num�ro		:	079,080


			--==**{	CONTAMINATION }***==--


	Le lecteur a: effectue des aller-retours intensifs avant de charger
	un fichier.
	Turbo Debugger v2.0 ne fonctionne plus en affichant le message
	"impossible d'initialiser le fichier td.ovl !"
	Turbo anti virus v6.80 ne d�tecte aucun virus mais al�atoirement le
	secteur de boot du disque dur est alt�r�.
	En r��crivant le secteur de boot cel� ne change rien.
	Jusqu'� pr�sent la seule parade avait �t� de reformatter le disque
	dur par un formattage bas niveau ( ou pr�formattage ).
	Et d'y replacer mes programmes du backup de France.

	Les programmes suivants sont r�sidents:

	gmouse.exe
	bootsafe.exe
	nc.exe
	command.com

	J'effectue les essais suivants:

	Dans la ram CMOS le disque dur est enlev� et de plus je le d�connecte
	physiquement.
	Je boote le DOS 4.01 d'une disquette prot�g�e en �criture et je
	lance le programme d'installation de TD sur une disquette 1.2Mo.
	J'essaie le programme: IL FONCTIONNE !

	Je reconnecte le disque dur et r��cris la m�moire CMOS, puis je
	boote du disque dur, deux �vidences:

	1) Le lecteur de disquette a: refait les m�mes symptomes mais le
	   programme TD fonctionne. ( la disquette est prot�g�e en �criture )
	2) Le programme TD du disque dur ne fonctionne toujours pas.

	3) Une comparaison des 2 programmes montre une diff�rence de taille
	   de 2 K. 
	4) En copiant le programme de la disquette sur le disque dur celui
	   du disque dur ne fonctionne toujours pas !

	Donc le probl�me se situe vraisemblablement sur le disque dur.

	Je fais deux essais;

	J'enl�ve l'autoexec.bat et je copie le COMMAND.COM de la disquette
	prot�g�e du DOS microsoft.
	Je boote et j'essaie le lecteur a: ; Il FONCTIONNE.
	Je copie avec les commandes DOS le fichier TD.EXE de la disquette
	sur le disque dur et je le lance; IL FONCTIONNE.
	Je remets NC dans le circuit; TD ne fonctionne plus et COMMAND.COM
	est de nouveau alt�r�.
	Donc quelque chose ( un ou plusieurs jeux ont alt�r�s les programmes
	r�sidents et ceux-ci � leur tour ont alt�r�s tous les programmes
	lanc�s...!
	Et TNTVIRUS ne trouve rien malgr� sa biblioth�que de 155 virus !
	Je recharge du backup les r�pertoires suivants car je me suis
	apercu que GMOUSE,  et BOOTSAFE lui m�me �taient alt�r�s;
	\\NC
	\\DOS
	\\TD
	\\
	Ceci fait j'essaie mon autoexec.bat � nouveau avec tous les programmes
	r�sidents et cette fois-ci tout fonctionne.
	Un simple formattage du disque dur n'enlevait pas le d�faut car
	j'utilisais la commande DOS du disque dur lui-m�me qui passait 
	forc�ment par le COMMAND.COM contamin� !
	Et en r�installant le DOS 4.01 sur le disque cel� ne fonctionnait pas
	mieux car les fichiers contamin�s �taient conserv�s et il suffisait
	d'en lancer un pour se retrouver avec l'erreur.
	Le fait de restorer les r�pertoires NC, DOS, TD et racine a fonctionn�
	car j'avais pris le soin de les effacer auparavant mais surtout d'y
	r��crire le COMMAND.COM non contamin� de la disquette MICROSOFT.

	Mais � l'heure actuelle tout est de nouveau plant� car j'ai conserv�
	des fichiers contamin�s dans les autres r�pertoires qui ont � nouveau
	contamin� NC et COMMAND.COM etc...
	Que fait ce virus � part emp�cher le fonctionnement de TD ?
	A premi�re vue il augmente la taille des fichiers lanc�s � chaque
	fois un petit peu. D'autre part NC � parfois des r�actions bizarres
	comme d'avoir un scrolling ultra rapide lorsqu'on appuie sur les
	touches fl�ches haut et bas....

	Donc la solution ultime c'est de refaire un formattage total du disque
	En r�installant le DOS d'abord puis l'utilitaire FASTBACK. Et une fois
	le tout r�etabli mettre TSAFE en r�sident et non pas BOOTSAFE.

	TSAFE donne l'alarme d�s qu'un fichier est en train d'�tre modifi�.
	En fait TSAFE est tr�s efficace mais certain programme ne le "supporte"
	pas. Je ne le rends actif que si j'introduis une disquette dans un des
	lecteurs A: ou B:

	Ce ou ces virus se trouvent dans les programmes suivants:

	STAR CONTROL
	ALTERED BEAST   
	OIL'S WELL
	THEXDER II

	Autre virus que j'ai surnom� MAGIC VIRUS car j'ai trouv� une suite
	de "MAGICMAGICMAGICMAGIC...." dans les fichiers EXE des programmes
	suivants: ( et que je n'ai pas encore �limin� )

	POWER DRIFT
	MATHCAD V2.5

	NOTE: Lorsque COMMAND.COM est infect� tous les programmes appel�s par
	      l'autoexec.bat sont contamin�s.

	18 novembre 1990

	LES VIRUS SONT DECOUVERTS !!!! et �limin�s.... 

	OUTILS:		QUAID ANLYSER
			PERISCOPE + RUN.COM
			MI.COM de PCTOOLS
			EXEHEAD.EXE de MICROSOFT

	J'avais d�j� essay� de d�couvrir des chaines d'octets identiques
	entre un fichier d�j� infect� et un fichier vierge venant d'�tre
	infect� mais sans r�sultat. ( Car j'utilisais SOURCER pour dessas-
	sembler )

	Deux programmes identiques l'un contamin� et l'autre non ne montraient
	aucune chaine d'octets identiques. Mais maintenant je sais pourquoi
	SOURCER n'a rien "vu" c'est parceque le virus utilise la place
	r�serv�e pour le segment de pile pour s'installer et SOURCER ne 
	d�ssassemble pas le contenu de la pile. ( c'est logique )
	Et avec PCTOOLS on ne peut pas comparer deux fichiers n'ayant pas la
	m�me longueur !

	Ci-dessous les deux fichiers pass�s � l'utilitaire EXEHEAD.EXE de
	MICROSOFT;

	Microsoft (R) EXE File Header Utility  Version 2.01    
	Copyright (C) Microsoft Corp 1985-1990.  All rights reserved.

	Programme non infect�:
	
	.EXE size (bytes)         205
	Magic number:             5a4d
	Bytes on last page:       0005
	Pages in file:            0002
	Relocations:              0000
	Paragraphs in header:     0020
	Extra paragraphs needed:  0000
	Extra paragraphs wanted:  ffff
	Initial stack location:   0000:0000
	Word checksum:            b0ad
	Entry point:              0000:0000
	Relocation table address: 001e
	Memory needed:            1K
	
	Microsoft (R) EXE File Header Utility  Version 2.01    
	Copyright (C) Microsoft Corp 1985-1990.  All rights reserved.
	
	Programme infect�:

	.EXE size (bytes)         7d0
	Magic number:             5a4d
	Bytes on last page:       01d0
	Pages in file:            0004
	Relocations:              0000
	Paragraphs in header:     0020
	Extra paragraphs needed:  0000
	Extra paragraphs wanted:  ffff
	Initial stack location:   0001:0100
	Word checksum:            b0ad
	Entry point:              0001:0133
	Relocation table address: 001e
	Memory needed:            2K

	Le virus est invariablement log� � un segment IP de 0133 dans le stack.
	Plus 1 paragraphe = 143 octets par rapport � la position normale.	
	C'est en achetant le dernier SIERRA - THEXDER II - que j'ai craqu�
	et d�cid� de lui faire la chasse surtout que les programmes le
	v�hiculant augmentent sans cesse.

	Premi�re chose j'ai lanc� le fichier SIERRA.EXE sous QUAID ANALYSER.
	Et l� je remarquais deux choses curieuses:

	a) l'interruption INT 21 �tait d�tourn�e d�s le d�but du programme.

	b) Une fois sorti du programme SIERRA.EXE quelque chose ouvrait le
	   fichier NCMAIN.EXE et essayait d'y �crire 1216 octets. Voir
	   ci-dessous....

	Extrait de QUAID:

	4 21 DOS call 25 set interrupt vector 21 9fa3:02f0          alter i21

	Ceci se passe tout au d�but du programme, on voit que interruption 21
	ne pointe plus sur sa valeur d'origine. ( en fait beaucoup de virus
	utilise cette technique pour s'installer )

	229 *** 21 DOS call 3d open read/write C:\NC\NCMAIN.EXE

	Ici le virus est r�sident, le programme porteur est d�j� termin� et
	c'est le programme r�sident NC qui essaie d'�crire dans NCMAIN.EXE

	233 *** 21 DOS call 40 write handle 5 (1216) ��  ��    S�3 S�

	C'est cette chaine qui est rajout� dans tous les programmes non
	contamin�s, dans ce cas on augmente la taille de NCMAIN.EXE de 1216
	octets. 

	La chaine rajout� commence toujours par les octets E9 DF 05 00 8C CB 03.

	En fait il ne sert a rien de supprimer ou d'alt�rer cette suite d'octets
	puisque le virus la rajoutera malgr� tout, il faut trouver la routine
	qui l'installe; la supprimer et s'arranger pour que le programme
	porteur tourne toujours. Tout un programme !

	Avec le d�tournement de l'INT 21 j'aurais du comprendre plus vite que
	le virus �tait rendu actif au d�but du programme mais ce n'est qu'en
	lan�ant mon programme volontairement infect� sous RUN.COM de PERISCOPE
	que je me rendis compte que le d�but de mon programme �tait identique
	au d�but du programme SIERRA.EXE ! 
	Donc le virus g�n�re bien une chaine d'octets identique d'un programme
	� l'autre. Mais le dessassemblage ne r�v�le rien puisque le code se
	trouve dans le STACK SEGMENT.

	AX=0000  BX=0000  CX=05D0  DX=0000  SP=0100  BP=0000  SI=0000  DI=0000
	DS=2992  ES=2992  SS=29A3  CS=29A3  IP=0133   NV UP EI PL ZR NA PE NC
	 WR SS:00FE = 1979
	29A3:0133 E86C00        CALL    01A2

	On remarque bien que CS et SS pointe sur le m�me segment. Et IP est
	invariablement � 0133.
	Donc par rapport � l'origine 0133 + 1 paragraphe = 0143h octets.
	Lorsqu'on �dite le fichier avec PCTOOLS on trouve bien au d�placement
	0143 ---> E86C00E8....

	Cette suite de CALL est significatif de la pr�sence du VIRUS.

	29A3:0133 E86C00        CALL    01A2
	29A3:0136 E82D00        CALL    0166
	29A3:0139 E83F00        CALL    017B
	29A3:013C E81200        CALL    0151
	29A3:013F 7208          JB      0149
	29A3:0141 E8FA00        CALL    023E
	29A3:0144 7203          JB      0149
	29A3:0146 E83301        CALL    027C
	29A3:0149 EB7E          JMP     01C9
	29A3:014B 90            NOP
	29A3:014C EA12009D13    JMP     139D:0012

	Tous les programmes infect�s commen�ent par cette s�rie de CALL
	il a suffit de faire sauter le programme directement de 013F en 01C9
	pour neutraliser l'action du virus....

	On peut aussi chercher la suite B82125CD21 qui modifie le vecteur
	de l'INT 21, on gagne � tous les coups.

	J'ai appel� ce virus  VIRUS X01 � d�faut de nom connu.
	
	METHODE POUR SUPPRIMER LE VIRUS:

	Rechercher avec PCTOOLS la chaine E86C00E82D00E83F00E812007208E8
	et remplacer 7208E8 par un JMP 1C9 c.a.d. E98700 !
	En fait je ne le supprime pas je le rends inactif.

	Note:

	Une "vue texte" du fichier infect� montre des tas de choses 
	interressantes comme les extensions .COM et .EXE ce qui prouve qu'il
	infecte les fichiers COM et EXE.
	On retrouve �galement tout les noms des fichiers qui se trouvaient
	dans le r�pertoire dans lequel le virus �tait actif ! Etc etc....
	
	Donc pour l'instant les jeux suivants sont 'Nettoy�s';

	ALTERED BEAST
	OIL'S WELL
	THEXDER II
	STAR CONTROL

	A ma grande surprise le virus des programmes MATHCAD et POWER DRIFT
	�tait diff�rent ! Je me remis donc en chasse avec un fichier volontai-
	rement infect�. A ce sujet je voudrais pr�ciser que " infecter un
	fichier volontairement " sans en infecter d'autres se r�v�le �tre une
	vrai sin�cure.
	Ce qui me mis sur la piste fut une vue ASCII du fichier POWERDRIFT.EXE
	qui r�v�le � la fin du fichier une suite de "MAGICMAGICMAGIC..." et
	bien entendu vers la fin du fichier MATHCAD.EXE je retrouvais la m�me
	chose. La coincidence �tait trop grande entre un jeu et un package
	s�rieux comme MATHCAD...
	Ci-dessous le dessassemblage du d�but de POWWERDRIFT et MATHCAD qui sont
	bien identiques.

	2AC2:01A7 E8D700        CALL    0281		---->  90 90 90
	2AC2:01AA 07            POP     ES
	2AC2:01AB 06            PUSH    ES
	2AC2:01AC 8CC0          MOV     AX,ES
	2AC2:01AE 48            DEC     AX
	2AC2:01AF 8ED8          MOV     DS,AX
	2AC2:01B1 E8DC00        CALL    0290  		---->  90 90 90
	
	Ce call d�cr�mente la m�moire disponible de 8ko � chaque fois que le
	programme est lanc�. ( V�rification avec MI.COM de PCTOOLS )
	
						
	2AC2:01B4 8EC0          MOV     ES,AX
	2AC2:01B6 0E            PUSH    CS
	2AC2:01B7 1F            POP     DS
	2AC2:01B8 E8EC00        CALL    02A7		---->  90 90 90
	2AC2:01BB E8F400        CALL    02B2		---->  90 90 90
	2AC2:01BE E80101        CALL    02C2		---->  90 90 90
	2AC2:01C1 2E            CS:
	2AC2:01C2 803E090201    CMP     BYTE PTR [0209],01
	2AC2:01C7 7417          JZ      01E0
	2AC2:01C9 07            POP     ES
	2AC2:01CA 0E            PUSH    CS
	2AC2:01CB 1F            POP     DS
	2AC2:01CC E80901        CALL    02D8
	2AC2:01CF E81901        CALL    02EB
	2AC2:01D2 07            POP     ES
	2AC2:01D3 1F            POP     DS
	2AC2:01D4 5A            POP     DX
	2AC2:01D5 59            POP     CX
	2AC2:01D6 5B            POP     BX
	2AC2:01D7 58            POP     AX
	2AC2:01D8 1E            PUSH    DS
	2AC2:01D9 BF0001        MOV     DI,0100
	2AC2:01DC 57            PUSH    DI
	2AC2:01DD 33FF          XOR     DI,DI
	2AC2:01DF CB            RETF

	J'ai nom� ce virus VIRUS MAGIC et il suffit de chercher la chaine 
	E8D700 et modifier par 909090, puis la chaine E8DC00 et remplacer
	par 909090 puis en dernier mettre 9 fois 90 en E8EC00E8F400E80101.

	Une pr�cision pour la mise hors service du virus:
	Ce virus ( tous les virus d'ailleurs ) doit une fois son action 
	termin�e restituer les valeurs propre de tous les registres et sauter
	� l'instruction originale du programme pour que celui-ci s'�x�cute
	correctement et que le virus reste compl�tement transparent pour ce
	dernier. Il faut donc executer ce virus au pas a pas et noter les
	valeurs des differents registres lorsque le programme est pr�t �
	d�marrer. Il va sans dire que m�me au pas a pas le virus a ce moment l�
	a d�j� infect� le RUN.COM et PERISCOP.COM ! il faut quitter imp�rati-
	vement par CTRL ALT DEL si on ne veut pas infecter autre chose.
	On ne s'�nerve pas et on recharge calmement un RUN.COM et un PERISCOP
	COM non infect�s.
	Et dans la cession suivante en faisant des coupes sombres parmis les 
	CALL du virus par des NOP il faut bien s'assurer que lorsqu'on arrive
	� la premi�re instruction VRAI du programme le contenu de tous les
	registres refl�te bien les valeurs not�es plus haut.
	Sous peine de voir le programme ce planter lamentablement...

 	Et TNTVIRUS nouvelle version avec ces 227 virus ne trouve toujours
	rien. Je commence � soup�conner que c'est peut-�tre voulu !

	Derni�re minute: je viens d'utiliser le programme SCAN 5.1V67 qui
	m'a confirm� la pr�sence de mon VIRUS MAGIC, son nom est LIBERTY VIRUS.
	Mais il est incapable de l'enlever.
	Par contre rien pour le VIRUS X01.....

	23 f�vrier 1991

	Le programme SCAN 6.2V72 trouve ( enfin ) mon virus X01 c'est le
	virus KEYPRESS, ce programme enl�ve les deux virus LIBERTY et KEYPRESS.

	FREDDY